// import { getInfo, setInfo } from '@/utils/storage'
// export default {
//   namespaced: true,
//   state () {
//     return {
//       userInfo: {
//         getInfo
//       }
//     }
//   },
//   mutations: {
//     setUserInfo (state, obj) {
//       state.userInfo = obj
//       setInfo(obj)
//     }
//   },
//   actions: {
//     login({ commit }, token) {
//       commit('setToken', token);
//     }
//   }
// }
import { getInfo, setInfo } from '@/utils/storage'

export default {
  namespaced: true,
  state () {
    return {
      userInfo: getInfo() // 使用 getInfo 函数初始化 userInfo
    }
  },
  getters: {
    token (state) {
      return state.userInfo.token
    }
  },
  mutations: {
    setUserInfo (state, obj) {
      state.userInfo = obj
      setInfo(obj) // 同时更新 localStorage
    },
    setToken (state, token) {
      // 更新 userInfo 中的 token
      state.userInfo.token = token
      setInfo(state.userInfo) // 同时更新 localStorage
    }
  },
  actions: {
    login ({ commit }, token) {
      // 假设 token 是从登录接口获取的
      commit('setToken', token)
    },
    logout (context) {
      context.commit('setUserInfo', {})
      context.commit('cart/setCartList', [], { root: true })
    }
  }
}
